package ${servicePackageStr};

import com.differ.jackyun.frame.business.core.ICommonCore;
import com.differ.jackyun.frame.business.service.ICommonService;
import ${corePackageStr}.${classNameNew}CoreImpl;
import ${filterPackageStr}.${classNameNew}CreateDTO;
import ${filterPackageStr}.${classNameNew}FilterDTO;
import ${entityPackageStr}.${entityClassName};
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * ${entityDesc} - SERVICE
 *
 * @author ${author}
 * @since ${time}
 */
@Service
public class ${classNameNew}ServiceImpl implements
        ICommonService<${classNameNew}FilterDTO, ${classNameNew}CreateDTO, ${entityClassName}> {

    @Autowired
    private ${classNameNew}CoreImpl ${classNameNewLow}Core;

    @Autowired
    private ${classNameNew}ServiceImpl ${classNameNewLow}Service;

    /**
     * 获取公共core
     *
     * @return 公共core
     */
    @Override
    public ICommonCore getCommonCore() {
        return this.${classNameNewLow}Core;
    }

    /**
     * 如果添加操作时，若需要AOP+事务必须重写（返回继承类自己的@Autowired）
     *
     * @return 返回继承类的实例
     */
    @Override
    public ICommonService getSelfCommonService() {
        return this.${classNameNewLow}Service;
    }
}